Skip to content

[pull] master from ghostunnel:master#72

Merged
pull[bot] merged 10 commits into
Kiterepo:masterfrom
ghostunnel:master
Apr 17, 2026
Merged

[pull] master from ghostunnel:master#72
pull[bot] merged 10 commits into
Kiterepo:masterfrom
ghostunnel:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Apr 17, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

csstaub and others added 10 commits April 16, 2026 21:19
Use a temporary keychain via the security CLI instead of the broken
certstore.Import() API (which calls SecPKCS12Import but never persists
the identity with SecItemAdd). Remove the now-unused keychain-helper
Go binary.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add macOS keychain identity integration test
Release the SecPolicyRef from SecPolicyCreateSSL and the CFErrorRef
from SecTrustEvaluateWithError, both of which were previously leaked
on every call to CertificateChain.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a mutex to macIdentity to protect the lazy initialization of
SecKeyRef and SecCertificateRef handles in getKeyRef/getCertRef.
Without this, concurrent TLS handshakes could race on the nil check,
causing duplicate CGo handle allocations where the losing write
leaks its handle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use %w instead of %v so that callers can use errors.Is/errors.As
to inspect the underlying X.509 or PKCS7 parse errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a mutex to macIdentity to protect the lazy initialization of
SecKeyRef and SecCertificateRef handles in getKeyRef/getCertRef.
Without this, concurrent TLS handshakes could race on the nil check,
causing duplicate CGo handle allocations where the losing write
leaks its handle.

Uses double-checked locking so the mutex is only contended on the
very first call — subsequent calls return on the fast path without
acquiring the lock.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add missing godoc for TLSConfigSourceFromACME
- Fix grammar: "a OPA" → "an OPA" in Policy interface doc
- Fix stale comment on GetServerConfig: said "false is returned"
  but return type is (TLSServerConfig, error), not bool

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fix small bugs found by Claude
@pull pull Bot locked and limited conversation to collaborators Apr 17, 2026
@pull pull Bot added the ⤵️ pull label Apr 17, 2026
@pull pull Bot merged commit c5b0899 into Kiterepo:master Apr 17, 2026
6 of 11 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant